home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / VOLTDIV.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-29  |  2.7 KB  |  92 lines

  1. 10  'VOLTDIV - Voltage Divider - 18 NOV 95 rev. 30 SEP 96
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  CLS:KEY OFF:COLOR 7,0,1
  4. 40  UL$=STRING$(80,205)
  5. 50  U$="######,###.###"
  6. 60  '
  7. 70  '.....start
  8. 80  CLS:V=0:V1=0:V2=0:R1=0:R2=0:I=0
  9. 90  COLOR 15,2
  10. 100  PRINT " VOLTAGE DIVIDER";
  11. 110  PRINT TAB(57);"by George Murphy VE3ERP ";
  12. 120  COLOR 1,0:PRINT STRING$(80,223);:COLOR 7,0
  13. 130  '
  14. 140  '.....diagram
  15. 150  L=3:T=24
  16. 160  COLOR 0,7
  17. 170  LOCATE L+ 0,T:PRINT "                                 "
  18. 180  LOCATE L+ 1,T:PRINT " CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND V SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL "
  19. 190  LOCATE L+ 2,T:PRINT " CALL                             CALL "
  20. 200  LOCATE L+ 3,T:PRINT " CALLDEFSNGSOUNDSOUNDSOUNDSOUND V1 SOUNDSOUNDSOUNDSOUNDDEFDBLCALLDEFSNGSOUNDSOUNDSOUNDSOUND V2 SOUNDSOUNDSOUNDSOUNDDEFDBLCALL "
  21. 210  LOCATE L+ 4,T:PRINT " CALL              CALL              CALL "
  22. 220  LOCATE L+ 5,T:PRINT "  SOUNDSOUNDSOUNDSOUND\/\/\/SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND\/\/\/SOUNDSOUNDSOUNDSOUND  "
  23. 230  LOCATE L+ 6,T:PRINT " +      R1     I-DEFDBL     R2      - "
  24. 240  LOCATE L+ 7,T:PRINT "                                 "
  25. 250  COLOR 7,0
  26. 260  PRINT UL$;
  27. 270  '
  28. 280  '.....inputs
  29. 290  COLOR 0,7:LOCATE CSRLIN,21
  30. 300  PRINT " Press 1 to continue or 0 to EXIT..... "
  31. 310  COLOR 7,0
  32. 320  Z$=INKEY$:IF Z$=""THEN 320
  33. 330  IF Z$="0"THEN CLS:RUN EX$
  34. 340  IF Z$="1"THEN 360
  35. 350  GOTO 320
  36. 360  LOCATE CSRLIN-1:PRINT STRING$(80,32);:LOCATE CSRLIN-1
  37. 370  INPUT " ENTER: Voltage V ";V:IF V=0 THEN 360
  38. 380  LOCATE CSRLIN-1:PRINT STRING$(80,32);:LOCATE CSRLIN-1
  39. 390  PRINT TAB(9);"If unknown, press ENTER DEFSNG'......"
  40. 400  '
  41. 410  VIEW PRINT 13 TO 24:CLS:VIEW PRINT:LOCATE 13
  42. 420  IF V1=0 THEN INPUT " ENTER: Voltage V1 ";V1:GOSUB 480
  43. 430  IF V2=0 THEN INPUT " ENTER: Voltage V2 ";V2:GOSUB 480
  44. 440  IF R1=0 THEN INPUT " ENTER: Resistance R1 ";R1:GOSUB 480
  45. 450  IF R2=0 THEN INPUT " ENTER: Resistance R2 ";R2:GOSUB 480
  46. 460  GOTO 410
  47. 470  '
  48. 480  '.....calculate
  49. 490  IF I =0 AND V*R1*R2<>0 THEN I=V/(R1+R2):     GOTO 480
  50. 500  IF I =0 AND V2*R2<>0   THEN I=V2/R2:         GOTO 480
  51. 510  IF V1=0 AND V*V2<>0    THEN V1=V-V2:         GOTO 480
  52. 520  IF V1=0 AND I*R1<>0    THEN V1=I*R1:         GOTO 480
  53. 530  IF V1=0 AND V*V2<>0    THEN V1=V-V2:         GOTO 480
  54. 540  IF V2=0 AND V*V1<>0    THEN V2=V-V1:         GOTO 480
  55. 550  IF V2=0 AND I*R2<>0    THEN V2=I*R2:         GOTO 480
  56. 560  IF V2=0 AND V*V1<>0    THEN V2=V-V1:         GOTO 480
  57. 570  IF R1=0 AND V*V2*R2<>0 THEN R1=(V-V2)*R2/V2: GOTO 480
  58. 580  IF R2=0 AND V*V1*R1<>0 THEN R2=R1*V2/(V-V2): GOTO 480
  59. 590  IF V*I*V1*V2*R1*R2<>0  THEN P=I*V:GOTO 620
  60. 600  RETURN
  61. 610  '
  62. 620  '.....print
  63. 630  VIEW PRINT 12 TO 24:CLS:VIEW PRINT:LOCATE 12
  64. 640  PRINT TAB(9);"Voltage V.....";USING U$;V;:PRINT " volts  "
  65. 650  PRINT TAB(9);"Current I.....";USING U$;I;:PRINT " amperes";
  66. 660  PRINT USING U$;P;:PRINT " watts"
  67. 670  PRINT TAB(9);"Voltage V1....";USING U$;V1;:PRINT " volts  "
  68. 680  PRINT TAB(9);"Voltage V2....";USING U$;V2;:PRINT " volts  "
  69. 690  PRINT TAB(9);"Resistance R1.";USING U$;R1;:PRINT " ohms   ";
  70. 700  PRINT USING U$;I*V1;:PRINT " watts"
  71. 710  PRINT TAB(9);"Resistance R2.";USING U$;R2;:PRINT " ohms   ";
  72. 720  PRINT USING U$;I*V2;:PRINT " watts"
  73. 730  '
  74. 740  '.....end
  75. 750  GOSUB 790
  76. 760  GOTO 70
  77. 770  END
  78. 780  '
  79. 790  'HARDCOPY
  80. 800  GOSUB 910:LOCATE 25,2:COLOR 14,6
  81. 810  PRINT " Press 1 to print screen, 2 to print screen & ";
  82. 820  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  83. 830  Z$=INKEY$:IF Z$="3"THEN GOSUB 910:RETURN
  84. 840  IF Z$="1"OR Z$="2"THEN GOSUB 910:GOTO 860
  85. 850  GOTO 830
  86. 860  FOR QX=1 TO 24:FOR QY=1 TO 80
  87. 870  LPRINT CHR$(SCREEN(QX,QY));
  88. 880  NEXT QY:NEXT QX
  89. 890  IF Z$="2"THEN LPRINT CHR$(12)
  90. 900  GOTO 800
  91. 910  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  92.